package org.wujiangbo.genteratorCode.tools;

/**
 * @desc 工具类
 * @author 波波老师(weixin：javabobo0513)
 */
public class MyUtils {

    public static void main(String[] args){
      System.out.println(convert("t_", "t_user"));
      System.out.println(convert("t_", "t_user_details"));
    }

    /**
     * 下划线表名转成驼峰单词，没有下划线就原样返回，如：school_class_info 转成 schoolClassInfo
     * @param source 原单词
     * @return String
     */
    public static String getEntityName(String source) {
        StringBuffer sbf = new StringBuffer();
        // 按下划线来切割字符串为数组
        String[] split = source.split("_");
        // 循环数组操作其中的字符串
        for(int i=0; i<split.length; i++){
            String word_temp = split[i];
            if(i == 0){
                sbf.append(word_temp);
            }else{
                sbf.append(word_temp.substring(0, 1).toUpperCase() + word_temp.substring(1));
            }
        }
        return sbf.toString();
    }

    //单词所有下划线去掉，并且去掉前缀还会驼峰转换，例子：t_user_details返回userDetails
    public static String convert(String pre, String source) {
        StringBuffer sbf = new StringBuffer();
        if (source.contains(pre))
        {
            // 按下划线来切割字符串为数组
            String[] split = source.split("_");
            // 循环数组操作其中的字符串
            for (int i = 1, index = split.length; i < index; i++){
                String temp = split[i];
                if(i == 1){
                    sbf.append(temp);
                }else{
                    sbf.append(temp.substring(0, 1).toUpperCase() + temp.substring(1));
                }
            }
        }else{
            sbf.append(source);
        }
        return sbf.toString();
    }

}